"""
    1.身份运算符     is 和 is not
        身份运算符用于判断两个标识符(变量)是否引用自同一个对象
    2.运算符的优先级
        1.指数(**) > 一元运算符 > 算术 > 位 > 关系 > 赋值 > 身份 > 成员 > 逻辑
"""

a = 10
b = 10
print(a is b)

class Animal(object):
    def sleep(self):
        print("动物都有睡的行为")
    def eat(self):
        print("动物都有吃的行为")
    def happy(self):
        print("动物都有玩的行为")


# 所谓的继承可以用is-a来理解 比如狗 is - a 动物 这句话没毛病的话就代表继承.
# 把狗叫做子类(派生类) 把动物叫做父类(基类和超类) 子类继承父类. 拥有父类中非私有内容
class Dog(Animal):
    pass

d1 = Dog()
d2 = Dog()
# d1是Dog类的实例.该类中明明没有写任何内容.为什么Dog的实例d1可以调用这些方法呢?
# 因为Dog继承了Animal.子类继承父类.用于父类中非私有内容.
d1.sleep()
d1.eat()
d1.happy()

print(d1 is d2)

id =1
name ="李四"
print(f'编号:{id}姓名:{name}')
print("编号:{}姓名:{}".format(id,name)) # 推荐
print("编号:%d姓名:%s" %(id,name))  # 这种写法什么时候用:python2.x 在python3中如果遇到要格式化输出浮点数 %.2f